﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAO;
using DTO;

namespace BUS
{
    public class BUS_TaiKhoan
    {
        DAO_TaiKhoan DAO_acc;
        DAO_DonHang DH;
        public BUS_TaiKhoan()
        {
            DAO_acc = new DAO_TaiKhoan();
        }
        public BUS_TaiKhoan(int i)
        {
            DH = new DAO_DonHang();
        }
        
        /* Hàm TimKiemTaiKhoan 
         * Kiểm tra thông tin đăng nhập (Email và Password) (Đăng nhập)
         * Kiểm tra xem tài khoản đăng kí có trùng với dữ liệu trong Database không (Đăng kí)
         */
        public string GetTenTK(int maTK)
        {
            return DAO_acc.GetTenTK(maTK);
        }
        public DTO_TaiKhoan TimKiemTaiKhoan(string email, string password)
        {
            return DAO_acc.TimKiemTaiKhoan(email, password);
        }

        /* Hàm ThemTaiKhoan
         * Thêm 1 tài khoản đăng kí vào trong bảng TAIKHOAN
         */

        public bool ThemTaiKhoan(string hoten, string email, string password,
                                 string dienthoai, string loai, string tinhTrang)
        {
            return DAO_acc.ThemTaiKhoan(hoten, email, password, dienthoai, loai, tinhTrang);
        }

        public bool ThemTaiKhoan(string hoten, string email, string password,
                                 string dienthoai, string loai, string gioitinh, string ngaysinh, string tinhTrang)
        {
            return DAO_acc.ThemTaiKhoan(hoten, email, password, dienthoai, loai, gioitinh, ngaysinh, tinhTrang);
        }

        public List<DTO_TaiKhoan> ThongTinTaiKhoan(string matk)
        {
            List<DTO_TaiKhoan> kq = new List<DTO_TaiKhoan>();
            kq.Add(DAO_acc.ThongTinTaiKhoan(matk));
            return kq;
        }

        public void Update(DTO_TaiKhoan tk)
        {
            DAO_acc.Update(tk);
        }
        public void SavePassword(string password,int matk)
        {
            DAO_acc.SavePassword(password, matk);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="loai"></param>
        /// <returns></returns>
        public List<DTO_TaiKhoan> select(int loai)
        {
            return DAO_acc.Select(loai);
        }
        public List<DTO_TaiKhoan> XemChiTiet(int ma)
        {
            return DAO_acc.XemChiTiet(ma);
        }
        public List<DTO_DNKV> XemChiTietBoSung(int ma)
        {
            return DAO_acc.XemChiTietBoSung(ma);
        }
        public bool Delete(int ma)
        {
            return DAO_acc.Delete(ma);
        }
        public List<DTO_TaiKhoan> Loc(string text, int loai)
        {
            return DAO_acc.Loc(text, loai);
        }
        public bool update(string pass, string dt, int GT, int ma,string HoTen,int TinhTrang)
        {
            return DAO_acc.update(pass, dt, GT, ma,HoTen,TinhTrang);
        }
        public bool updatebosung(string ChucVu, string TenDN, string web, string DiaChi, string LoaiSP, int NoiQC, string thongtin, int ma)
        {
            return DAO_acc.updatebosung(ChucVu, TenDN, web, DiaChi, LoaiSP, NoiQC, thongtin, ma);
        }
        public bool Add(string HoTen, string Email, string Password, string DienThoai, int LoaiTK, int GioiTinh,string NgaySinh)
        {
            return DAO_acc.Add(HoTen, Email, Password, DienThoai, LoaiTK, GioiTinh,NgaySinh);
        }
        public bool Addbosung(string ChucVu, string TenDoanhNghiep, string Website, string DiaChi, int LoaiHinhKinhDoanh, int NoiMuonQuangCao, string ThongTinHopTac, int ma)
        {
            return DAO_acc.Addbosung(ChucVu, TenDoanhNghiep, Website, DiaChi, LoaiHinhKinhDoanh, NoiMuonQuangCao, ThongTinHopTac, ma);
        }
        public bool KTEmail(string email)
        {
            return DAO_acc.KTEmail(email);
        }
        public int TimMaTK(string email)
        {
            return DAO_acc.TimMaTK(email);
        }
        public List<DTO_DonHang1> DoanhThu(string year,string thang)
        {
            return DH.DoanhThu(year,thang);
        }
        public List<float> DoanhThuTungThang(string year)
        {
            return DH.DoanhThuTungThang(year);
        }
        public List<DTO_DonHang1> DoanhThuDoanhNghiep(string year, string thang,int MaDN,int code)
        {
            return DH.DoanhThuDoanhNghiep(year, thang,MaDN,code);
        }
        public List<DTO_DoanhNghiep> DoanhNghiep()
        {
            return DAO_acc.DoanhNgiep();
        }
        public List<DTO_KhuVuc> KhuVuc()
        {
            return DAO_acc.KhuVuc();
        }
        public List<DTO_LoaiKM> LoaiKM()
        {
            return DAO_acc.LoaiKM();
        }
    }
}
